#ifndef _LO_SCRIPT_MOVE_H_
#define _LO_SCRIPT_MOVE_H_

#include "edaMove.h"
#include "loDefine.h"

#define SCRIPTDIRSIZE 256

class loScriptMove : public edaMove {
 public:
  loScriptMove();
  loScriptMove( int script );
  loScriptMove(const loScriptMove &move);
  ~loScriptMove();

  /*! derived methods */
  edaMove* clone() const;
  void init(const edaSolution &sol);
  double incrEval(const edaSolution &sol);
  void update( edaSolution &sol ) const;
  void Serialize( edaBuffer &buf, bool pack );
  edaMove& operator = (const edaMove &_move);
  bool operator == (const edaMove &move) const;
  void setScriptDir(const char *_scriptDir);

  /*! user methods */
  int getScript() const;
  void setScript( int script );

  setClassID(_USERCLASSID_ + _CLSID_SCRIPT_MOVE_);

 private:
  int script_;
  char scriptDir[SCRIPTDIRSIZE];
};

#endif
